import type {
	DepartData,
	Image,
	OrderPreParams,
	OrderPreData,
	OrderParams,
	PayParams,
	OrderDetail,
} from '@/types/consult.d.ts'
import { request } from '@/utils/request'

/**
 * 医生科室列表
 */
export const departmentListApi = () => {
	return request.get<null, DepartData[]>('/dep/all')
}

/**
 * 上传图片文件
 */
export const uploadImgApi = (filePath: string) => {
	return request.upload<null, Image>('/upload', {
		name: 'file',
		filePath,
	})
}

/**
 * 生成预支付订单
 */
export const preOrderApi = (params: OrderPreParams) => {
	return request.get<null, OrderPreData>('/patient/consult/order/pre', {
		params,
	})
}

/**
 * 生成待支付订单
 */
export const createOrderApi = (data: OrderParams) => {
	return request.post<null, { id: string }>('/patient/consult/order', data)
}

/**
 * 三方支付（暂时只支持支付宝支付）
 */
export const orderPayApi = (data: PayParams) => {
	return request.post<null, { payUrl: string }>('/patient/consult/pay', data)
}

/**
 * 问诊订单详情
 */
export const orderDetailApi = (orderId: string) => {
	return request.get<null, OrderDetail>('/patient/consult/order/detail', { params: { orderId } })
}
